package algorithm.swordoff;

/**
 * 二叉树的镜像
 */

public class SQ27 {

    /**
     * 这个题递归真的很香,假设mirrorTree已经帮你把输入节点的都镜像完了,你需要处理一下本层的逻辑
     * 注意暂存下左子树
     * @param root
     * @return
     */
    public TreeNode mirrorTree(TreeNode root) {

        // 递归终点
        if (root == null) return null;

        // 暂存下两边子树节点
        TreeNode prevLeft = root.left;
        TreeNode prevRight = root.right;
        root.right = mirrorTree(prevLeft);
        root.left = mirrorTree(prevRight);
        return root;

    }


}
